Hive 条件判断

If函数: if *

语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值: T 说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull

hive> select if(1=2,100,200) from tableName;
200

hive> select if(1=1,100,200) from tableName;
100

非空查找函数: COALESCE

语法: COALESCE(T v1, T v2, …) 返回值: T 说明: 返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL

hive> select COALESCE(null,'100','50') from tableName;
100

条件判断函数:CASE *

语法: CASE a WHEN b THEN c [WHEN d THEN e] [ELSE f] END 返回值: T *说明:如果a等于b,那么返回c;如果a等于d,那么返回e;否则返回f

hive> Select case 100 when 50 then 'tom' when 100 then 'mary' else 'tim' end from tableName;
mary

hive> Select case 200 when 50 then 'tom' when 100 then 'mary' else 'tim' end from tableName;
tim

条件判断函数:CASE **

语法: CASE WHEN a THEN b [WHEN c THEN d] [ELSE e] END 返回值: T *说明:如果a为TRUE,则返回b;如果c为TRUE,则返回d;否则返回e

hive> select case when 1=2 then 'tom' when 2=2 then 'mary' else 'tim' end from tableName;
mary

hive> select case when 1=1 then 'tom' when 2=2 then 'mary' else 'tim' end from tableName;
tom

results matching ""

    No results matching ""